When you start a window resize or move via the window menu and
don't actually change anything we're not getting an exitsizemove.
In order to work around this we also look for WM_CAPTURECHANGED.
case WM_EXITSIZEMOVE:
case WM_EXITMENULOOP:
- _gdk_win32_end_modal_call ();
+ if (_modal_operation_in_progress)
+ _gdk_win32_end_modal_call ();
+ break;
+
+ case WM_CAPTURECHANGED:
+ /* Sometimes we don't get WM_EXITSIZEMOVE, for instance when you
+ select move/size in the menu and then click somewhere without
+ moving/resizing. We work around this using WM_CAPTURECHANGED. */
+ if (_modal_operation_in_progress)
+ _gdk_win32_end_modal_call ();
break;
case WM_WINDOWPOSCHANGING: